1. Field of the Invention
The present invention relates to a data generating apparatus for automatically setting the expression data of a finite field when a finite field operation of codes, ciphers, etc., is performed and a method thereof.
2. Description of the Related Art
Along with the recent development of a computer technology and a network technology, situations where a finite field operation is performed in a variety of fields including codes, ciphers, etc., have been increasing. A finite field means a finite aggregate in which four arithmetical operations are defined, and a finite field operation means four operations defined in a finite field.
In particular, in a business utilizing the Internet, such as e-commerce, etc., a cipher technology for ensuring security in an open network is spot-lighted as a very important technology. To realize a cipher technology, a finite field operation is indispensable. However, a finite field of a very large size is often required to ensure the security of data, and the improvement of the operation efficiency is a major and practical objective.
To realize a finite field operation, first, several pieces of expression data are selected and the finite field must be expressed by using the expression data. If it is assumed that a prime number and a positive integer are p and m, respectively, the number of finite field elements becomes pm. This positive integer m is called an extension degree. It is generally known that in order to describe the element of a finite field, a prime number p, an extension degree m and an irreducible polynomial of degree m F(x) must be set as expression data.
In a conventional finite field operating apparatus, a finite field is expressed by using fixed expression data stored in the apparatus in advance or by a user designating all expression data.
However, the conventional finite field expression method has the following problems.
If only fixed expression data are used, a variety of expression data required in a variety of situations of a system for codes, ciphers, etc., cannot be obtained and thereby the expression lacks flexibility. If a user designates all expression data in a very large finite field, the selection of expression data requires a lot of labor. Furthermore, if the user selects inappropriate expression data, the operation speed sometimes decreases and thereby the performance of the system sometimes degrades.